package cn.com.sbell.vss.csg.vsclient;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import cn.com.sbell.vss.VssConstants;
import cn.com.sbell.vss.VssException;
import cn.com.sbell.vss.csg.vap.bean.AHInfo;
import cn.com.sbell.vss.csg.vap.bean.AlarmConfiguration;
import cn.com.sbell.vss.csg.vap.bean.CameraHide;
import cn.com.sbell.vss.csg.vap.bean.CruiseTrackInfo;
import cn.com.sbell.vss.csg.vap.bean.DeviceInfo;
import cn.com.sbell.vss.csg.vap.bean.DeviceStatistic;
import cn.com.sbell.vss.csg.vap.bean.DiskSizeInfo;
import cn.com.sbell.vss.csg.vap.bean.GPIODeviceInfo;
import cn.com.sbell.vss.csg.vap.bean.IPCameraInfo;
import cn.com.sbell.vss.csg.vap.bean.ImageAdjustingInfo;
import cn.com.sbell.vss.csg.vap.bean.ImageParameterInfos;
import cn.com.sbell.vss.csg.vap.bean.IpCameraAlarmCofig;
import cn.com.sbell.vss.csg.vap.bean.LocalStorageTask;
import cn.com.sbell.vss.csg.vap.bean.LogInfo;
import cn.com.sbell.vss.csg.vap.bean.LogRequest;
import cn.com.sbell.vss.csg.vap.bean.NTPInfo;
import cn.com.sbell.vss.csg.vap.bean.NetManageInfo;
import cn.com.sbell.vss.csg.vap.bean.NetworkCfgIn;
import cn.com.sbell.vss.csg.vap.bean.NetworkCfgOut;
import cn.com.sbell.vss.csg.vap.bean.PTZRegress;
import cn.com.sbell.vss.csg.vap.bean.PresetPTZ;
import cn.com.sbell.vss.csg.vap.bean.PtzCommander;
import cn.com.sbell.vss.csg.vap.bean.RecordFile;
import cn.com.sbell.vss.csg.vap.bean.SerialPortInfo;
import cn.com.sbell.vss.csg.vap.bean.StorageQuery;
import cn.com.sbell.vss.csg.vap.bean.TimeInfo;
import cn.com.sbell.vss.csg.vap.bean.TransparentChannelInfo;
import cn.com.sbell.vss.csg.vap.bean.UploadPic;
import cn.com.sbell.vss.csg.vap.bean.UserInfo;
import cn.com.sbell.vss.csg.vap.bean.VSCommon;
import cn.com.sbell.vss.csg.vap.bean.VideoFormat;
import cn.com.sbell.vss.csg.vap.bean.VideoInfo;
import cn.com.sbell.vss.csg.vap.bean.VideoPerformance;
import cn.com.sbell.vss.csg.vap.bean.GPIODeviceInfo.ChannelInfo;
import cn.com.sbell.vss.csg.vap.bean.ImageParameterInfos.ImageParameterInfo;


public class AbstractVsClient implements VsClient {
		
	protected static Log logger = LogFactory.getLog(AbstractVsClient.class);
	protected AccessInfo access;
	
	protected AbstractVsClient(AccessInfo access){
		this.access = access;
	}
	
	public AccessInfo getAccessInfo(){
		return access;
	}

	public void close() {
		
		
	}

	public boolean controlPtz(PtzCommander ptzCmder) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean controlVs(int action) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean deleteUser(String username) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public SerialPortInfo getDecoderCfg(int channel) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public CruiseTrackInfo[] getCruiseTrackInfo(Integer ptzId, Integer cruiseNumber) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public IPCameraInfo getIPCameraInfo() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public ImageAdjustingInfo getImageAdjustingInfo(int videoId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public VideoFormat getImageFormat(int videoId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public ImageParameterInfos getImageParameterInfo(int videoId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public GPIODeviceInfo getInOutDev() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public int getLastStatusCode() {
		
		return 0;
	}

	public NTPInfo getNTP() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public NetworkCfgOut getNetworkInfo() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public PresetPTZ[] getPresetPTZ(int ptzId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public SerialPortInfo getSerialPortInfo(int port) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public TimeInfo getTime() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public UserInfo[] getUser(String username) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public VideoInfo getVideoInfo(int videoId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public LocalStorageTask getVsLocalStorageTask(int videoId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public DeviceStatistic getVsWorkState() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public void init() {
		
		
	}

	public boolean setVsAlarmConfiguration(AlarmConfiguration alarmCfg) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public  AlarmConfiguration getVsAlarmConfiguration(){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public DiskSizeInfo[] queryVsLocalDisk() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public RecordFile[] queryVsLocalStorageFiles(StorageQuery query) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public DeviceInfo requestVsDeviceInfo() {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public void requestVsUpgrade(String fileURL, int timeout, String deviceId) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setDecoderCfg(SerialPortInfo serialPortInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public boolean setCruiseTrackInfo(CruiseTrackInfo cruiseTrackInfo){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public boolean transparentChannel(TransparentChannelInfo transparentChannelInfo) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setIPCameraInfo(IPCameraInfo ipCameraInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setImageAdjustingInfo(ImageAdjustingInfo imgInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setImageFormat(VideoFormat format) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setImageParameterInfo(ImageParameterInfo imgParams) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setInOutDev(ChannelInfo channelInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setIpcameraMotionDetect(IpCameraAlarmCofig alarmConfig) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setNTP(NTPInfo ntpInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setNetworkInfo(NetworkCfgIn networkCfg) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setPresetPTZ(PresetPTZ preset) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setSerialPortInfo(SerialPortInfo serialPortInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setTime(TimeInfo timeInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setUser(UserInfo userInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setVideoInfo(VideoInfo videoInfo) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setVsLocalStorageTask(LocalStorageTask storageTask) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean stopVsLocalStorageTask(int videoId, boolean isStop) {
		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public boolean setDeviceId(String id) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public CameraHide getHideImageArea(int cameraNumber) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setHideImageArea(CameraHide cameraHide) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public VSCommon getVSCommon() {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setVSCommon(VSCommon commonInfo) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public NetManageInfo getNetManageInfo() {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setNetManageInfo(NetManageInfo netManageInfo) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public VideoPerformance getVsPerformance(String statisticTarget) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public LogInfo[] getVsLog(LogRequest logRequest) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public  AHInfo GetAlarmHostInfo(){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public  AHInfo SetAlarmHostInfo(AHInfo ahInfo){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public String requestAhDeviceInfo(String deviceId) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public  int GetVsPPPoEPeriod(){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public  boolean SetVsPPPoEPeriod(int validDays){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public boolean SetVsLogPrint(int isPrint)
	{
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public boolean recordVideo(Integer[] videoIds,Integer duration){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public boolean setUploadPicture(UploadPic up){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	public UploadPic getUploadPicture(String deviceId){
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
	public PTZRegress getPTZRegress(int ptzId) {		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setPTZRegress(PTZRegress ptzRegress) {		
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public ImageParameterInfos getImageParameterInfo_3N(int videoId) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}

	public boolean setImageParameterInfo_3N(ImageParameterInfo imgParams) {
		throw new VssException(VssConstants.CODE_UNSUPPORTED_EQUIPMENT_COMMAND);
	}
	
}
 
